FOOTBALL 2.5.1

By Mark Naughton 1996-1999

For the Amiga Computer, running OS2.04 and above.

Design & Programming : Mark Naughton
Ideas & Suggestions : Steve Holland
Jan Allan Andersen
Kevin Lambert
Heiko Schroder
Alex Georgiev
Web & Icon Graphics : Kevin Lambert

Contents

  • Introduction
  • Requirements
  • Supplied Programs
  • How It Works
  • Installation
  • Tool Types


  • Hints And Tips

  • Renaming Datafiles

  • History
  • Future Additions
  • Credits And Ticket Holders
  • League Options

  • Setting Up
  • Opening
  • Entering Scores
  • League Information
  • League Table
  • League Results
  • Team Results
  • Team Statistics
  • Updating Settings
  • Changing Team Names
  • Changing Match Scores
  • Updating Stats Files
  • Cup Options

  • Setting Up
  • Opening
  • Playing
  • Entering Scores
  • Displaying Current Round
  • Displaying Results
  • Changing Team Name





  • Other Options

  • Documentation
  • Changing the Locale

  • External Scripts
  • Writing Your Own













  • Introduction
               I decided to write a few REXX programs to display various types
    of information about football matches that I played with a certain football
    game. This allowed me to display the league, statistics about my team and
    all the results. Problem was, I had to run all these from the Shell and
    after a while, it became a pain in the butt. Hence, FOOTBALL was born.
    
               The purpose of FOOTBALL is a central point where all these programs 
    can be run from and to display the information without using the Shell. Before
    all leagues had to be created manually and now, you can create a league and
    maintain it, without quitting one program and running another. FOOTBALL solves
    all these problems. The program can only look after one league/division.
    Multiple leagues can be setup and teams can be transferred between them, for 
    promotion and relegation using an external AREXX script. Cups can also be
    set-up and played, using Extra Time, Penalties and Replays. See Set Up Cup.
    
               Football can now store player and match information such as
    referees, attendances, goal scorers, bookings, substitutes and man of the
    match awards. New options include renaming files, changing team names, 
    changing match scores and locale support.
    
    
    Points To Note:
    
               The selector that allows you to select a team, is font adaptable. If
    the current font is too big to display the data, then the selector will use
    the default font, ie. topaz 8.
    
    
    Copyright Information
    
               Football is released as Freeware for everyone to use and love but
    should you use the information generated, then consider COURTESY-WARE; add a
    note saying the data was created by Football along with the author's name.
    Then drop me an email and I'll include your website or name in the
    next update.
    
    
    Return To Top


    Requirements
            You need the following to run Football :
    
                  -   Workbench 2 and above
    
                  -   AREXX to be up and running
                                  (make sure 'rexxsupport.library' is present)
    
                  -   AmigaGuide or MultiView to view this file
            
                  -   AmigaDOS program 'Sort' to be in the 'C:' directory
    
                  -   AmigaDOS program 'Delete' to be in the 'C:' directory
    
                  -   AmigaDOS program 'Rename' to be in the 'C:' directory
    
    
              For script 'HTMLTemplates', you need the following programs :
    
                  -   RequestFile   - supplied with OS3.x; for OS2.x users, 
                                              see the Aminet.
    
                  -   RequestChoice - supplied with OS3.x; for OS2.x users,
                                              see the Aminet.
    
                  -   RequestString - freeware from the Aminet.
    
    
    Return To Top



    Supplied Programs
            The following programs should be present. If not they will affect the
    operation of the program. They are :
    
      WriteMatch.rexx             Games.rexx
      Alt_League.rexx             League.rexx
      Lstats.rexx                 Alt_Results.rexx
      Results.rexx                Scheduler.rexx
      Stats.rexx                  UpdateSettings.rexx
      CupScheduler.rexx           ViewCupResults.rexx
      ViewCupCurRound.rexx        CupUpdateMatches.rexx
      CupScheduleNextRound.rexx   UpdateTeamName.rexx
      UpdateCupTeamName.rexx      ChangeMatchScore.rexx
      ReadMatchData.rexx          DupMatches
      Footsort                    SortWkDts
      Sort4Chars                  Sort7Chars
      FOOTBALL
    
    And Where They Should Be...
    
          FOOTBALL should be in the directory where you've installed it and
    then the program files should reside in a subdirectory named 'Exec' and
    the external scripts/programs in a subdirectory named 'User'.
    
            The datafiles can now now be put into directories (only one 
    subdirectory of 'Data' though). Schedules reside in 'Data/Schedules'.
    Locales reside in subdirectory 'Locale'. The only required one is 'english'.
    
    
    Return To Top


    How It Works
            The suite of programs are used to create, update and maintain a
    football league. First the league is created and saved to "filename.df".
    This is then used by SCHEDULER to create the schedule and stats files -
    "filename.sf" and "filename.stats". The stats file contains all the
    data about each team such as PLAYED, WIN, DRAWN, LOST etc. This file is
    not updated as its used as a base for the league. This has the advantage
    of starting a league mid-season (by updating these values) if the scores
    are not known but the table is.  Obviously certain statistics will be
    incorrect because of this. See Hints And Tips.
    
            By using GAMEPLAY, a file containing the matches in the order
    they are played is stored - "filename.sflearn". This data is used
    for display options when you require the matches for a team, in the
    order they were played. When GAMEPLAY is used, and if the match
    entered is a valid one then "filename.sf" and "filename.sflearn"
    are updated. When the league is displayed, "filename.stats" is read
    in and stored. This is then updated with the scores from
    "filename.sf". The table is sent to a temporary file which is sorted
    into the correct order and is then checked again, before being
    displayed.
    
    
    Return To Top


    Installation
            To install FOOTBALL :
    
    - Make a directory on a hard-disk or format a disk. 
    
    - Then copy then the contents of the directory where FOOTBALL
      currently sits, to the one you just created.
    
    - You should then have FOOTBALL and its icon in the directory and
      three subdirectories named :
    
                Data/           (holds all the datafiles)
                Exec/           (contains main REXX and other programs)
                User/           (holds all the external user scripts)
                Locale/         (holds locale catalogs)
                HTML/           (holds HTML output files)
                HTMLTemplates/  (holds HTML templates)
    
    - Next select the icon and Information from the Workbench
      menu Icons. Change the tool types for GUIDE and VIEWR,
      remembering the full path.
    
    - In the Data/ directory, there are several examples :
    
          Shiva2           - Leagues that have been used with a
          Shiva3             certain football game.
          League_OddSched  - An example of using the new schedule
                             options to play teams an odd number of matches.
          OddTeams         - Datafiles showing odd number of teams
                             in a league.
          Players          - Test datafile for handling player and
                             match information.
          FAPrem_9798      - Last season's FA Carling Premiership.
          FAPrem_9899      - The current season's FA Carling
                             Premiership.
          FAPrem_9900      - The latest season with goal scorers etc....
          EMKval           - The next three datafiles have been supplied by
                             Jan Allan Andersen. This one, Denmark's qualifying
                             group for Euro 2000.
          SuperLiga9899    - Danish Super League for 98/99.
          SuperLiga9900    - Danish Super League for 99/00.
          1BL_98-99        - Supplied by Heiko Schroder. The German Bundesliga
                             for 98/99.
          WC98_Grp         - The Groups from this year's World Cup in France.
          WorldCup_Jul98   - The final stages of the World Cup in France.
          FACT             - A finished sample Cup which was used to test the
                             features.
    
    - Then sit back, double click (or whatever) and .......
    
    
    Return To Top


    Tool Types
            REXXC  (Default "SYS:Rexxc/")
    
              When the program is run from the Workbench, and if REXXC isn't
    assigned then it cannot find the RX command (used to run AREXX
    programs). It is set to the default but this allows you to
    specify an alternate path.
    
    
            GUIDE  (Default "SYS:Utilities/MultiView Football.Guide")
    
              This allows you to change what documentation file you wish to
    read. You can read either the guide file or the HTML docs.
    
    
            VIEWR  (Default "c:ppmore")
    
              This allows you to specify which file viewer you wish to view
    the displays with. Don't forget to add the complete path.
    PPMore is copyright by Nico Francois.
    
            FRONT_LEFT and FRONT_TOP      (Default =1)
            CREATE_LEFT and CREATE_TOP    (Default =1)
            GAMEPLY_LEFT and GAMEPLY_TOP  (Default =1)
            SELECT_LEFT and SELECT_TOP    (Default =1)
    
            These tool-types specify the left and top positions of the
    windows. FRONT is the main window, CREATE is "Create League",
    GAMEPLY is the window where you enter scores and SELECT is
    the window where you select the teams.
    
            With the addition of Cups, FRONT is the main "Play Cup Games"
    window, CREATE is "Setup Cup" and GAMEPLY is "Enter Cup Scores".
    
    
    Return To Top


    Create A League
            This is where a league is first set up. You can setup how many points
    for a win, loss and a draw. You can setup how many times each team plays
    each other, how many teams are relegated and if you so desire, how many
    points are awarded for each goal scored. Teams Promoted, if a league of
    multiple divisions is being set up, can be set. You can also specify the
    schedule file to be used. Click "?" to select one. If a league of multiple
    divisions is being setup and this is the final division being setup but is
    the first one, change the number of divisions and then selecting "?", you
    can specify the other division filenames.
    
            You can enter your name, the title of the league and what the file
    should be called. Then you can enter the teams (up to 50).
    
            Click on Add_Team, type the name, hit ENTER. To change a team, click
    on the team in the listview, edit it and then hit ENTER. To delete a team,
    click on the team then click on Delete_Team. To import all the data from a
    previous league, click on Import_League. Then select the league from the
    list, and the details will be displayed on the window. When finished, click
    SAVE to create the league.
    
            I use Import_League to read a previous league, then I delete the
    bottom six teams in the table and add six new ones. Then I change the
    league and filename and then SAVE it.
    
    
            Football now gives you the option to set up the statistics file
    for the league just created. You can click 'No Way!' for an automatic setup
    or 'Okay' for manual setup. Click on the teams then change the settings
    below. Click 'Save Stats' to create the file - this is useful when starting
    a season mid way. To revert back to an automatic setup, click 'Close'.
    See Starting Mid-Season.
    
            Football now checks to see if the schedule definition file supplied
    has the correct number of matches set up for the league to run with
    the number of teams and the number of times they play each other.
    
            As Football can now handle datafiles in subdirectories of 'Data/',
    there is a "?" to the left of the filename for selecting the directory.
    
    
    Return To Top


    Update League Settings
            The principle is the same as CREATE LEAGUE except you can change the
    points awarded, numbers of promoted/relegated teams, the title and author.
    Follow on-screen messages.
    
    
    Return To Top


    Update Stats Datafile
            You can also update the statistics file, useful for starting a season
    mid way. See Starting Mid-Season. Click on a team
    then adjust the points, matches, wins, draws etc. Click on 'Save Stats'
    will do what it says.
    
            You can set the points to a negative value up to -20. This will handle
    teams who have had points deducted.
    
    
    Return To Top


    Rename Datafiles
            As there are a number of datafiles used for each league and cup, it
    made sense to implement this. Upon selecting the option, you pick a team
    from the file requester and a string requester appears prompting you to
    change it. The directory path will be retained.
    
    
    Return To Top


    Change Team Name
            One option that was missing, was the ability to change team names
    whether in Leagues or Cups. Select a team from the list, change it and
    all files will correctly reflect the new team.
    
    * IMPORTANT *
    
            Be careful as if the newly renamed team has a different position in
    the schedule file (Leagues only), the league's schedules will all be wrong
    but only if you run one of the 'Update...' scripts.
    
    
    Return To Top


    Change Match Score
    
        This option has been missing for a very long time. After several
    requests, its here. When selected, a list of played matches will be
    shown. Click on the match and then on READ MATCH. Now the details can
    be changed the same way as they are entered in ENTER SCORES. When
    you've finished, click on SAVE MATCH - the same checks as ENTER SCORES
    are performed so you cannot enter more goal scorers than there are goals.
    
        To unplay a match (or reset it if you like), select the match, read it
    and then click UNPLAY MATCH.
    
        When a match is updated, a report is shown, displaying the previous
    match and the new one, what action was done (player info updated, match
    updated or match unplayed).
    
        If there are duplicate matches (same home/away, teams and score), then
    a requester will appear, displaying a list of the duplicates. Select the
    match to change it.
    
        If you've read a match but wish to read another, click on RESET OPTION
    then select the other match that you want to read.
    
        At any time you want to quit the option, click EXIT.
    
    
    
    Return To Top


    Change Locale
            With v2.5, you can now change the locale for the AREXX scripts. In a
    later version, the main program will be converted over. The beauty of this
    though, is that all those OS2.04 users who haven't upgraded to OS2.1, can
    now view the datafiles in their language, if written.
    
            Selecting this option, will allow you to change between the available
    locales. If you want to write your own, see 'Locale.docs' in the 'Locale'
    directory.
    
    
    Return To Top


    Open A League
            A list of leagues are read from the 'Data' directory and are displayed
    in a file requester, for you to choose.
    
    
    Return To Top


    Documentation
            Pressing HELP displays the amigaguide file that you are now reading or
    the HTML documentation.
    
    
    Return To Top


    Entering Scores
            After opening a league, you can enter the scores for matches that
    have been played. There are two listview gadgets for the teams in league,
    playing HOME and AWAY. Click on the team, click in the slider gadget to
    change the score and click SAVE MATCH to save it. The screen will then
    beep and flash (depending on how you've set up your Workbench) and the
    scores will be reset to zero. The number of matches stored while this
    option is active, is displayed and the last match stored is displayed at
    the bottom. If the match that you have entered has already been played,
    then an error message will be displayed.
    
            To exit the option, click on the close gadget, or press ESCAPE.
    
            Also, you are able to record match and player information. Click on 
    'Match Stats' and enter the referee and attendance. If these are not
    filled in, they will not get recorded in the datafile.
    
            To enter player information, click on 'Home Team' or 'Away Team'.
    Again, if the information is not filled in, then it will not get recorded.
    The program will handle the information you put in.
    
            The window will appear ONLY after you have selected two teams.
    
            Click on 'Add Player' and make a selection from 'Goal!', Penalty,
    Own Goal, Yellow card, Yellow-Red card, Red card, Substitute and 
    Man of the Match. You can now select a previously entered player and
    hit 'Clone' so the labour of typing in a 20 letter name is taken away.
    
            The time value can be entered if you so wish for all options - it is
    not required.
    
            For substitutes, I recommend entering them as 'Player A (Player B)'
    with Player B coming on. Click on 'Enter Details' to store. Normal rules
    apply for 'Delete Player'. When finished, click 'Close' or press ESCAPE.
    
    *IMPORTANT*
    
            If you enter goal scorers, the program will check to see if you
    have entered the right number of scorers compared to the number of goals
    scored. If not, you will be shown an error. Re-enter or adjust the player
    listing to suit.
    
    
    Return To Top


    League Information
            This will display the various settings for the league, the number
    of matches played and the number of home/away wins, the highest home
    and away wins and the teams with the best record.
    
            If the information is stored, this option will display the
    top 10 scorers, the highest/lowest attendances, the fastest goal and
    the Fair Play table.
    
    
    Return To Top


    Display A League
            As well as the league being displayed, the top team will be
    displayed in capitals. A promotion line will show those teams which
    qualify for promotion where as at the bottom, the relegation line will
    show those liable for relegation. Any team under this line in capitals
    has already been relegated.
    
    **NEW**
    
            See External Scripts for details on changing
    the format of the table.
    
    
    Return To Top


    League Results
            This will display all the results from the league so far,
    in the order that they were played in.
    
    **NEW**
    
            If you are storing player and match information, you might
    want to see External Scripts for details on changing to
    a different display, showing scorers etc.
    
    
    Return To Top


    Team Results
            Select a team from the list. It will show each match that has
    been played and whether it was played at HOME or AWAY, the score
    (Selected teams score is always first) and whether it was a Home or
    Away win, a loss or a draw.
    
    
    Return To Top


    Team Statistics
            Select a team from the list. It will show the data for the team's
    home and away record, its current and longest undefeated run.
    
            Depending on the information stored, it will also display the highest
    and lowest attendances and the top scorers.
    
    
    Return To Top


    Setting Up A Cup
            Cups can be set-up to run from 2 teams upto a maximum of 256. On the
    main window, you can enter the title of the Cup and the filename. The gadget
    to the left allows you to select which directory in 'Data' you wish to save
    the datafiles to. The number of rounds can be changed which updates the
    display labelled 'Teams'. The number on the left is the number of teams
    to get and the right hand number is the maximum number of teams allowed.
    
            Changing the rounds will update the listview. Each line of this has the
    round name and two settings for Extra Time and Penalties. Clicking on one
    of these lines will change the cycle gadgets at the bottom. The round name
    will be displayed along with the current settings for Extra Time and
    Penalties and Legs. These can be changed and will update the listview.
    
            If you set a round to two legs, then the settings for Extra Time and
    Penalties will be just Extra Time and Penalties. Away Goals can also be
    set but only apply to two legged matches.
    
            You can select if there is to be a Third Place Play-Off and if Cup
    history is to be stored. BUT...the filename has to be the same otherwise
    a history will not be built up over progressive seasons. Next to all of this
    is the listview where you enter the teams. Operation is the same as
    CREATE LEAGUE except that selecting IMPORT TEAMS and IMPORT CUP will stop
    and only import the number of teams that it requires. Clicking on SAVE runs
    the Cup Scheduler which produces a report and schedules the first round.
    
            A new feature is automatic (default) and manual scheduling of matches.
    If manual scheduling is selected, you will be given another panel where
    you set up the matches. The panel shows the cup name, the current round,
    the total number of matches and two listview gadgets. The bottom one
    contains the matches, the top one contains the teams. To store a match,
    click on it, then click a team and click STORE. This will store this
    first team as the home team. Click another team and STORE and this will
    be the away team. Then repeat for the other matches. To return the
    teams back into the top listview, click on the match and click
    RESET MATCH. At this point, you may also click STORE to leave the match
    as it is. When finished, click on SAVE SCHEDULE and if all matches have
    been played, they will be written to the schedule file and the report
    will be produced.
    
    
    Please note :
    
            Seedings have not been implemented and probably never will.
    The reasons behind this are :
    
            - Different types of Seed exist so it would be impractical to
              attempt to implement them all.
            - Teams can be 'seeded' by giving them a 'Home' advantage by setting
              up a cup with Manual Scheduling.
    
    
    Return To Top


    Playing A Cup
            This is where all the cups are played from and external scripts
    for Cups are run. The window shows the title of the Cup, the current
    round name and the number of teams left. If the round name shows
    "Finished" then the Cup, as you probably guessed, is finished. It
    allows you to view results, run scripts but not to enter scores.
    Whenever a new round is scheduled, the cup is reloaded to show the
    new-current round.
    
    
    Return To Top


    Opening A Cup
            A list of cups are read from the 'Data' directory and are
    displayed in a file requester, for you to choose.
    
    
    Return To Top


    Entering Cup Scores
            After opening a cup, you can enter the scores for matches that have
    been played. There is a listview gadget with the matches for the current
    round and depending on the settings for the round, lines will be added for
    extra time and penalties. Only matches that haven't been played will be
    shown. Click on a match and then select the score. Then click STORE MATCH.
    The line which may mention "#1st Leg" is not picked up.
    
            If a score is equal, then click on Penalties and/or Extra Time and
    set the score, clicking STORE MATCH. If a score is not correct then clicking
    on RESET MATCH will reset the match to being not played. When all the matches
    have been set, click on SAVE MATCHES. If any errors are found in the scores
    that you have entered then an error report will be displayed. If there aren't
    any errors and all matches have been played, then the next round will be
    scheduled. If the matches are to be manually scheduled, you will be shown the
    same panel when you setup the Cup and you will have to repeat the process.
    Replays, Third Place Play-Off and the Final will NOT be manually scheduled.
    
            To exit the option, click on the close gadget, or press ESCAPE.
    
    
    Return To Top


    Displaying Current Round
            This will display all the results from the current round of the cup.
    
    
    Return To Top


    Display Cup Results
            This will display all the results from the cup so far, in the order
    that they were played in.
    
    
    Return To Top


    External Scripts
            The flexibility of the program allows you to run external programs
    where ever from, to display different data from the whole league or just a
    selected team and even manipulate the data to create new files. Clicking on
    SCRIPTS will display a requester with the list of external programs. Select
    one and the results will be displayed. If the script requires a team name,
    you will be prompted.
    
            With the addition of Cups, External scripts are run from the
    "Play Cup Games" window using the same names as above.
    
    
    "HTMLTemplates.rexx"           - By Heiko Schroder. Produces an HTML page
                                     with results and league table based on
                                     a template with a few user details.
                                     See the script for more details.
    
    "SwapResultsMode.rexx"         - If you are storing the match and player
                                     information, run this to get scorers etc
                                     with the match results.
    
    "Referees.rexx"                - Display referees with their number of
                                     matches played.
    
    "ManOfTheMatch.rexx"           - Same as Referees but for the star players.
    
    "HTML_Results.rexx"            - By Kevin Lambert. Produces HTML page
                                     listing the results.
    
    "HTML_Table.rexx"              - By Kevin Lambert. Produces HTML page
                                     with the league table.
    
    "SwapLeagueMode.rexx"          - At present, displaying a league shows
                                     all data combined in one table. Running
                                     this allows you to switch to another
                                     format, where the table is split into
                                     home/away. Run again to switch between
                                     the two types.
    
    "Cup_CloseCup.rexx"            - renames Cup files, appending month
                                     and year, leaving history intact
                                     for future tournaments.
    
    "DeleteNewDataFiles.rexx"      - delete "_NewData.df" files created by
                                     "EndOfSeason.rexx".
    
    "EndOfSeason.rexx"             - see Hints And Tips.
    
    "UpdateScheduleScores.rexx"    - recreates the schedule file from a
                                     schedule definition file and updates
                                     it with held scores.
                                     ** FOR SCHEDULED LEAGUES **
    
    "UpdateScores.rexx"            - extract data from ".sflearn" file and
                                     update ".sf" file with the match data.
                                     ** FOR NON-SCHEDULED LEAGUES **
    
    "FixturesLeft.rexx"            - displays fixtures left to be played in
                                     the season.
    
    "PerformanceRating.rexx"       - Displays a league table on how the teams
                                     in the league are performing dependent
                                     on settings defined in the program.
                                     Change the settings for different results.
    
    "FlipSchedule.rexx"            - runs half-way through the season, and
                                     creates a file for printing so that you
                                     can enter scores on paper before entering
                                     them into the program. Use for
                                     non-scheduled leagues.
    
    "MatchesPlayed.rexx"           - displays opposing teams and the scores for
                                     home and away games. 
    
    "MatchAnalysis.rexx"           - displays data such as number of goals and
                                     matches, bookings, attendances.
    
    "Reformat_Schedule.rexx"       - this reformats a schedule file from DDMM to
                                     DDMMYYYY. See program for details.
    
    "ViewNextWeeksSchedule.rexx"   - if scheduled, display matches in the
                                     following 7 days.
    
    "ViewScheduleAndResults.rexx"  - display schedule with results and games to
                                     to be played.
    
    "ViewTeamSchedule.rexx"        - displays team's future matches but only
                                     if created using a schedule file.
    
    "Cup_ViewHistory.rexx"         - view cup's history, showing winners/losers
                                     and a league table of past winners.
    
    "Cup_ViewTeamProgress.rexx"    - view a team's progress throughout the Cup.
    
    "Cup_CupInformation.rexx"      - view the options, the best record, current
                                     matches etc.
    
    
    Return To Top


    Writing Your Own Scripts
            As already mentioned, the program supports external programs written
    by you. Programs that want to manipulate and display data should be passed
    the filename of the league ie. The league filename is 'Shiva3.df' so you
    should pick up the name 'Shiva3'. Then format the data in your program to
    read data from 'Shiva.df'. This is because the program might need to use
    several different files with the same basename.
    
            Any of the main programs can be changed, except the filenames. So
    you can write your own routines or update the ones I've written. If there's
    a better way of doing it, then write one, making sure that you keep the
    original file format, then send it to me for inclusion in the archive. Other
    user-written files should be moved to 'User' directory (see for examples)
    and again, send them to me.
    
            With the addition of Cups, external script filenames should be
    preceeded with "Cup_" so that only the relevant scripts are picked for
    Leagues and Cups.
    
    
    *** NEW ***
    
            New advances in technology (brain cells!) have realised that it would
    be better to automatically pick up what type of script it is. Therefore the
    very first line of the script must be :
    
            '/* Mode=Run */' - supply league name (as above) and script runs.
    
            '/* Mode=Set */' - Football issues the team selector and then passses
                                     the league name as the first arg and the team as
                                     the second.
    
            Also try to localise your scripts, see the various directories for
    examples. Global datafiles are used to store month and day names, the
    character to display before teams have played etc. In script 
    'ViewNextWeeksSchedule.rexx' and 'Exec/Games.rexx', there is code which
    searches through the available locales to resolve different month names so
    that a datafile created in German will work with a locale of English
    selected.
    
    
    
      File extensions for:      League            Cup
     ----------------------------------------------------------------
    
      Definition file           ".df"             ".cf"
      Schedule file             ".sf"             ".scf"
      Played Matches in Order   ".sflearn"        n/a
      Statistics file           ".stats"          n/a
      Schedule Definition file  ".schd"           n/a
      Working data file         n/a               ".cfrw"
      History file for Cup      n/a               ".cfh"
      Temporary Save file for   n/a               ".cfsave"
             Cup_Enter_Scores
    
    
      File definitions for Leagues
     ----------------------------------------------------------------
      "*LEAGUE_NAME="       - league name.
      "*POINTS_PER_WIN="    - points per win , default 2.
      "*POINTS_PER_DRW="    - points per draw, default 1.
      "*POINTS_PER_LSE="    - points per loss, default 0.
      "*RELEGATION="        - number of teams relegated, default 2.
      "*PLAY_OTHER="        - number of times each team plays each other.
      "*POINTS_PER_GLS="    - number of points awarded per goal.
      "*  Author ="         - author's name.
      "*AUTOSCHD="          - specifys auto-scheduling and the schedule
                                      filename.
      "*DIVISIONS="         - specifys filenames of related divisions.
      "*NUM_DIVISIONS="     - the total number of divisions in the league.
      "*PROMOTED="          - number of teams promoted.
      "*TEAM="              - team name, in ".stats" file.
      "*PLY="               - games played, in ".stats" file.
      "*WIN="               - won matches, in ".stats" file.
      "*DRW="               - drawn matches, in ".stats" file.
      "*LST="               - lost matches, in ".stats" file.
      "*GOF="               - goals scored, in ".stats" file.
      "*GOA="               - goals scored against, in ".stats" file.
      "*PTS="               - points, in ".stats" file.
      "*DATES="             - specifys the schedule definition file is
                              using dates and the date specified is the
                              start date of the season.
      "*WEEKS"              - specifys the schedule definition file is
                              using week numbers.
      "*NEXT"               - specifys in the schedule definition file
                              that there is another schedule to be read.
      "*Week:"              - specifys the week number which the matches
                              listed below it, are playing in.
                                      In '.sf' file.
      "*Date:"              - specifys the date that the matches listed
                              below are playing on. In '.sf' file.
    
    
            The following are newly supported. They are used when storing
    match and player information in '.sflearn' file.
    
    
      "*RF="                - Referee's name.
      "*ATD="               - Attendance.
      "*HG="                - Home goal scorer.
      "*HY="                - Home player booked.
      "*HYR="               - Home player booked for a second time 
                                      and sent off.
      "*HR="                - Home player sent off.
      "*HS="                - Home player substituted.
      "*HM="                - Home player was awarded Man Of The Match.
    
      "*AG="                - Same as Home, but for Away players.
      "*AY="
      "*AYR="
      "*AR="
      "*AS="
      "*AM="
    
    
      File definitions for Cups
     ----------------------------------------------------------------
    
      "*CUP_TITLE="         - the cup name.
      "*CUP_TEAMSCT="       - the number of teams originally taking part.
      "*CUP_ROUNDS="        - number of rounds the cup is scheduled for.
      "*CUP_THIRD="         - specify if third place play-off to be played.
      "*CUP_HISTORY="       - specify if cup history is to be kept.
      "*CUP_RNDDEF="        - defines the parameters for a round.
      "*CUP_ROND="          - current round number.
      "*CUP_CRDN="          - current round name.
      "*CUP_RDEF="          - current round definition, in ".cfrw" file.
      "*CUP_TCNT="          - current number of teams in round, 
                                      in ".cfrw" file.
      "*CUP_SCHEDULE="      - type of scheduling for cups. MANUAL is where
                                      the user sets up the schedule, AUTOMATIC is
                                      a random schedule.
      "*Round="             - the roundname, in ".scf" file.
      "*CUP_AWAYG="         - specifys whether away goals are to be taken
                                      into account when deciding two-legged matches.
    
    
    Return To Top


    Hints And Tips
        We have hints and tips for :
    
            Leagues
    
                    Starting Mid-Season
    
                    Setting up Divisions
                    Ending a Season
    
                    Setting up Schedule
    
    
    Return To Top


    Setting up Divisions
        To setup a league with more than one division:
    
        1. Create all divisions apart from the first one, using "Create League"
           but setting the number of Divisions to zero, '0'. Make sure the
           "Teams Relegated" and "Teams Promoted" are set accordingly.
    
        2. Create the first division and change the slider to show the total
             number of divisions in the league. Then click on the "?" gadget and
             select the divisions in order, starting from the second one. Make
             sure the number of "Teams Relegated" match the number promoted from
             the division that is second.
    
           A sample setup would be:     FAPrem_9798.df
                                        Nat_D1_9798.df
                                        Nat_D2_9798.df
                                        Nat_D3_9798.df
    
        3. Enter the scores as normal for each division and only when all
           matches have been played, run the external script "EndOfSeason.rexx"
           to handle the promotions and the relegations.
    
           See Ending A Season for more details.
    
    Return To Top | Return To Hints


    Setting Up Schedules
            This is relatively easy when the information is provided for
    you. There are two types of schedules, filetype '.schd', which are WEEKS
    and DATES. Schedules are stored in the 'Schedules' subdirectory of 'Data/'.
    
            The first example is a schedule for four teams, using weeks
    named in "Teams4.schd" :
    
     *WEEKS                                             TEAM-A TEAM-B TEAM-C
      000 005 001 003        - the grid is such  TEAM-A    x
      002 000 003 004                            TEAM-B           x
      004 006 000 002                            TEAM-C                  x
      006 001 005 000
    
            Where the 'x's or "000" are to denote that the team obviously
    doesn't play itself. The second example is from the FA Carling Premiership
    1997-98. It is a schedule for 20 teams, obviously not all show here, using
    dates named "CPS.schd" :
    
     *DATES=09081997
      00000000 25101997 04101997      - the grid is the same as above.
      10051998 00000000 14021998
      25041998 13091997 00000000
    
            The schedule shows the date of the match between the two teams,
    in the format DDMMYYYY. The '00000000' denotes the team won't play itself.
    The "*DATES=" parameter is the first day of the season so when the schedule
    is used to create the schedule file, ".sf", it starts at this date and runs
    through to the end of the season.
    
            Schedules can be easily created as schedules are given by football
    clubs before the start of the season. These can be found in national
    newspapers or in the case of the FA Carling Premiership, on the Net.
    Various web sites are listed at www.blue-shantung.demon.co.uk.
    
            Other schedules can be created with "*WEEKS". See Setting Up A League
    for more details.
    
            You can also specify the schedule, with the start date as DDMM. Then
    using an external script 'Reformat_Schedule.rexx' (See External Scripts),
    you can specify the filename and the two corresponding years. The program
    will then reformat it correctly for use with Create League.
    
    Example Schedule Files:   
    
                Teams4.schd      - file for 4 teams using Weeks.
                Teams6.schd      - file for 6 teams using Weeks.
                Teams63.schd     - file for 6 teams, using Weeks
                                   but playing each other 3 times.
                Teams64.schd     - as Teams63 but playing each 
                                   other 4 times.
                WC98_GrpA-H.schd - files for Groups A-H in 
                                   World Cup 1998.
                CPS.schd         - file for FA Premiership 97/98.
                FACPS_9899.schd  - file for FA Premiership 98/99.
    
    
    *** NEW ***
    
            Now you can have teams playing each other any number of times
    from 1 to 10, including odd numbers. After creating your schedule, you can
    insert a line with the characters "*NEXT" and then another schedule after
    it. For example :
    
        *WEEKS
        000 009 005 003 007 001
        004 000 008 002 001 005
        010 003 000 006 004 007
        008 007 001 000 005 004
        002 006 009 010 000 003
        006 010 002 009 008 000
        *NEXT
        000 014 020 018 012 016
        019 000 013 017 016 020
        015 018 000 011 019 012
        013 012 016 000 020 019
        017 011 014 015 000 018
        011 015 017 014 013 000
    
    
            Setting up odd numbers, just means filling in a non-played match
    with zero's. See files, "Teams63.schd" and "Teams64.schd", in "Data/" for
    examples.
    
       Any problems with this, email me and I'll try to solve the problem.
    
    
    Return To Top | Return To Hints


    Ending A Season
            There is a time at the end of every season that you get the winners
    and the losers. The external script "End Of Season.rexx" will display them,
    showing the winner, the promotions and the relegations and the final
    league tables.
    
            To end a season, load the file for the first division and then RUN
    the script. It will calculate the final tables and then create definition
    files with the name, "filename_NewData.df" with the newly adjusted
    promotions and relegations. These files must then be imported into
    "Create League" and then saved, to create the associated files such at the
    ".stats" and ".sf" files. The files from the previous season will stay as
    they are. Playoffs are not handled so the winner/loser will have to be
    deleted from the division and the other one inserted. This applies to both
    divisions affected.
    
            After the '_NewData.df' files have been used to create new divisions,
    you can RUN external script, "DeleteNewDataFiles.rexx" to delete them.
    
    
    Return To Top | Return To Hints


    How To Start A League Mid-Season
            If you decide to start a league but some matches have already been
    played that you don't know the scores to, then this is how to do it.
    
       1. Create a league in the usual way, with the teams that you want
          and the number of points etc. Then SAVE it.
       2. Now, you will be asked if you want to create 'filename.stats'
          which we do so click 'Okay'. Then click the teams adjusting their
          settings.
       3. When finished, click 'Save Stats' and you're away!
    
            Now when you load this league, you will be able to display the
    league table, and you're ready to rock 'n roll...
    
    
    Return To Top | Return To Hints


    History
    Version 1.0
    
    (06.12.96)  - First release.
    (05.01.97)  - Added 'MatchAnalysis' and 'GamesToBePlayed'.
    (11.01.97)  - Fixed bug where icon files were picked up when selecting
                  external scripts (probably leagues as well). Changed
                  'GamesToBePlayed' to 'GamesPlayed' - only works with leagues
                  where teams play each other twice. Spaces are removed from
                  filenames when creating a league. Updated references to paths
                  for installer and amigaguide. Default league name changed.
                  Removed enforcer hits in 'GamePlay' and 'Football'.
                  (Thanks to Steve for his MMU!)
    (17.01.97)  - Fixed more enforcer hits in 'GamePlay' as it kept crashing.
                  Fixed bug in 'GamesPlayed'.
    
    Version 1.1
    
    (25.04.97)  - 'GamePlay' has been added to the main program and the interface
                  redesigned. Removed asd-library. Instead of a custom display
                  requester, all data is now displayed in a file reader,
                  specified by a new tool type. File requester used to select
                  leagues and external programs. You are now only allowed to
                  enter an even number of teams and play each team an even number
                  of times. PointsPerGoals added. Using new tool types, the
                  program remembers where you positioned the windows.
    (10.05.97)  - Fixed bugs in Create and Gameplay. Changed window to SMART-
                  REFRESH. Fixed display bug in Gameplay. Rewrote the entering of
                  scores - different procedure for entering scores and updating
                  the schedule file. Removed 'Update League'.
    (19.05.97)  - Fixed bug in League Information where the number of matches
                  played was wrong. Fixed bug where if the file viewer wasn't
                  found then the program crashed. No Enforcer hits found !!
    
    Version 2.0
    
    (18.12.97)  - Fixed bugs in selecting a team, handling of league name. Added
                  Scheduling, Cups, Divisions (with Teams Promoted). Redesigned
                  front panel. Added dynamic allocation of memory.
    
    Version 2.1
    
    (06.06.98)  - Changed method for checking if Syslog is active and added a
                  much improved way of sending messages. Decision taken not to
                  implement Seedings. Replaced all 'strcmp'.
    (07.06.98)  - Added hot keys to various options. Implemented Manual
                  Scheduling for Cups.
    
    Version 2.2
    
    (05.09.98)  - Spent last two weeks making amendments. Fixed bugs with
                  listviews where the string gadget wasn't attached. Added
                  option to temporarily save scores in Cup Enter Scores before
                  a new round is scheduled. Added Two-Leg support and Away
                  Goals. Enforcer hit free!
    (12.09.98   - Fixed bug in updating cup matches where data was missed
     -14.09.98)   during the recreation of a file. Added Two-Leg support to
                  Cup_ViewTeamProgress.rexx and added CupInformation.rexx.
    (01.10.98)  - Addition of external script to recreate the 'sf' file from
                  a newly updated 'schd' file with the previously held scores.
                  Polished messages and displays.
    
    Version 2.3
    
    (25.04.99)  - Decided the time was right for another update with a few bugs
                  and new ideas lurking behind the door... Added new option to
                  update the league settings. Added two new scripts - CloseCup
                  to close Cup tournaments and preserve the history file while
                  the other files are renamed ; and - Combination (suggested
                  by Kevin Lambert) which allows you to set up to four options
                  (Table, Stats - Team/League and Fixtures) and either direct
                  them to the screen or a directory. Redesigned many displays,
                  addded improvements (to messages and the operation) and
                  removed some 'undocumented' features. Increased max goals
                  scored to 99. MultiView is now the default Guide viewer.
    
    (05.05.99)  - Fixed a major bug when entering scores (thanks Jan!) where
                  it would fail if you had numerics in the team name. Improved
                  league table display. Added information requester when some
                  options are selected (in case you forget whats happening as
                  it chugs through the data).
                  At Jan's request, I have added support for playing teams an
                  odd number of times - in fact any amount from 1 to 10.
    
    Version 2.31
    
    (16.05.99)  - Another update but this one closes the English FA Premiership.
                  Fixed two bugs in League and a data bug in FAPrem_9899. Added
                  option to switch between different styles of league table
                  (thanks Jan!). Updated 'GamesPlayed' to 'MatchesPlayed'�which
                  now handles any number of matches played. Includes complete
                  Premiership data. Updated Combination.rexx with new features.
    
    Version 2.32
    
    (18.05.99)  - Heiko Schroder (from Leipzig) sent an email regarding various
                  small changes that could be made. Create League now feels better
                  when handling errors.
    
    Version 2.4
    
    (29.06.99)  - Big update with numerous changes suggested by Jan, Kevin, Heiko
                  and Steve. Thanks to you all. Odd number of teams can now play
                  in the same league. 'No output' message added - tell me if this
                  is annoying. You are now prevented from duplicating team names
                  when creating leagues and cups. Player and Match information
                  added. Create/Update League improved to allow the '.stats' file
                  to be created/changed. New scripts to handle new information.
    
                  New datafiles have been supplied by Jan Allan Andersen and
                  Heiko Schroder.
    
                  Scripts to produce HTML pages from the results and league table
                  have been supplied by Kevin Lambert.
    
    Version 2.45
    
    (21.08.99)  - Fixed bug in WriteMatch and a bug in Sort4Chars,
                  (reported by Heiko). New datafiles.
    
    
    Version 2.5
    
    (26.09.99)  - A major update. Web ring added to web site. All scripts have
                  proper error messages. Better script handling. More options
                  added; changing team names, updating settings/stats files,
                  changing match scores and renaming datafiles. 'No Data'
                  requester removed - annoying. Improved layout of 
                  Player Information - now enter own goals and Yellow-Red card
                  (sent off for 2nd booking) and clone existing entries.
                  
                  Change locales. New datafiles. Negative points supported
                  in changing stats file for points deduction. Various bug
                  fixes. New scripts by Kevin Lambert and Heiko Schroder.
                  Datafiles can now be organised into subdirectories of
                  'Data'. Other changes have been made but are not more
                  noticeable.
    
    (03.10.99)  - Thanks to Heiko and Kev for reporting several problems.
                  You can now load files from the main Data directory
                  (unlike before!!). Change Match Score has been improved by
                  giving you the option of which match to change
                  (if duplicated). Fixed a bug in this where attendances
                  where not correctly handled in Read Match. Directory name
                  is now retained from Rename so you're not able to change it.
                  Improved string requester. Match Analysis is now fixed.
                  Bug fixed in Rename where it would rename even if the
                  string was blank. Added message to Rename.
    
    Version 2.5.1
    
    (17.10.99)  - Bug fix update. I have fixed the loading problem so you can
                  now load datafiles under Workbench 2! Heiko reported several
                  problems; all scripts had to be changed due to a wrong error
                  message for locales, tidied various displays and messages,
                  Yellow-Red cards are now handled properly in League Information.
                  Heiko has also supplied a new update to HTMLTemplates.
                  ViewTeamSchedule is now localised - for some reason I forgot
                  to do this. Added team name to players in ManOfTheMatch.
    
    
    
    Return To Top


    Future Additions
            In order for this program to work, we need YOU! If there are any
    scripts that you have written, datafiles that you have created, then send
    them to me for inclusion in the archive.
    
            Visit the home of Football at www.blue-shantung.demon.co.uk where
    new program updates, bug fixes and datafiles are available.
    
    
            Football is a continuous project and relies on thoughts and ideas
    from its users. If you have a bee in your bonnet about something, tell me!
    
    
    VERSION 2.6
    
     * A GUI interface will be created to allow schedules to be setup, with
       options to set dates/week numbers or to create a schedule of your own.
       This will be the icing on the cake. This will make Football complete.
       Possibly introduce schedules into Cups, only downloadable from Web site.
    
     * A new script to create an AmigaGuide or HTML document which would
       display all scores, scorers, referee, attendance and man of the match
       awards with the scheduled date.
    
     * Redesign of Enter Scores. All information will be on one panel.  
       You will be able to enter the date of each game (if desired) for later
       analysis of matches.
    
     * Player and Referee database. You'll be able to add players and
       referees and select them when entering scores.
    
     * Requester similar to that for "More Options" where you'll be able
       to configure your favourite scripts for ease of access.
       Thanks to Alex Georgiev.
    
     * Scorers in Cups. Updated Cup Results, Current Round, 
       ViewTeamProgress and a new script to display the top scorers.
    
     * Change match scores in Cups.
    
     * Locale support for the main interface.
    
     * HTML_Played - produces HTML document for games that have been played.
    
     * Add notes to leagues/cups regarding points reduction etc.
    
     * More Locales ?
    
     * Organise datafiles - create directories and move datafiles.
    
    
    Return To Top


    Credits And Ticket Holders
      Design & Programming   :  Mark Naughton
    
      Assistance & Ideas     :  Steve Holland 
    
      Icons & Graphics       :  Kevin Lambert 
    
    
    
      Send any bug reports, ideas and external scripts to :
    
            mark@blue-shantung.demon.co.uk
    
            steve@britair.demon.co.uk
    
    
    
       Come and visit the home of Football at www.blue-shantung.demon.co.uk where
      new program updates, bug fixes and datafiles are available.
    
    
       When you email me with regards to Football, I'll send you a
      personalised season ticket graphic, exclusively designed by Kevin Lambert.
    
    
    
      Ticket Holders
    
    
      Jan Allan Andersen     - our Danish correspondent for the Super Bowl....
    
      Kevin Lambert          - the man from Norwich...
                                       ....and the web site's graphic designer.
    
      Heiko Schroder         - webmaster for the city of Leipzig...
    
      Alex Georgiev
    
      Mat Neaves
    
    
    
      Tools
    
      SAS/C v6.58 Compiler
      AZ v1.5 Editor by JM Forgeas
      GadToolsBox v2.0 by Jan Van Den Baard
    
    
    Return To Top